Thuật toán Q-learning_(học_tăng_cường)

Bảng Q-Learning về các trạng thái được khởi tạo thành 0, sau đó mỗi ô được cập nhật thông qua đào tạo.

Chi phí cho một bước từ một trạng thái đến Δ t {\displaystyle \Delta t} bước trong tương lai được tính là γ Δ t {\displaystyle \gamma ^{\Delta t}} .Trong đó γ {\displaystyle \gamma } là hệ số chiết khấu, một số từ 0 đến 1( 0 ≤ γ ≤ 1 {\displaystyle 0\leq \gamma \leq 1} ) và có tác dụng định giá phần thưởng nhận được sớm hơn so với phần thưởng nhận được sau này (phản ánh giá trị của "khởi đầu tốt"). γ {\displaystyle \gamma } cũng có thể được hiểu là xác suất thành công (hoặc tồn tại) ở mọi bước Δ t {\displaystyle \Delta t} . Do đó, thuật toán có hàm tính toán chất lượng của sự kết hợp hành động trạng thái:

Q : S × A → R {\displaystyle Q:S\times A\to \mathbb {R} } .Trước khi bắt đầu học, Q {\displaystyle Q} được khởi tạo là một giá trị cố định tùy ý (được chọn bởi người lập trình). Sau đó, tại mỗi thời điểm t {\displaystyle t} tác nhân chọn một hành động a t {\displaystyle a_{t}} , quan sát một phần thưởng r t {\displaystyle r_{t}} , bước vào một trạng thái mới s t + 1 {\displaystyle s_{t+1}} (điều đó có thể phụ thuộc vào cả trạng thái trước đó s t {\displaystyle s_{t}} và hành động đã chọn) và Q {\displaystyle Q} được cập nhật. Cốt lõi của thuật toán là một cập nhật lặp lại giá trị đơn giản, sử dụng trung bình trọng số của giá trị cũ và thông tin mới: Q n e w ( s t , a t ) ← ( 1 − α ) ⋅ Q ( s t , a t ) ⏟ old value + α ⏟ learning rate ⋅ ( r t ⏟ reward + γ ⏟ discount factor ⋅ max a Q ( s t + 1 , a ) ⏟ estimate of optimal future value ) ⏞ learned value {\displaystyle Q^{new}(s_{t},a_{t})\leftarrow (1-\alpha )\cdot \underbrace {Q(s_{t},a_{t})} _{\text{old value}}+\underbrace {\alpha } _{\text{learning rate}}\cdot \overbrace {{\bigg (}\underbrace {r_{t}} _{\text{reward}}+\underbrace {\gamma } _{\text{discount factor}}\cdot \underbrace {\max _{a}Q(s_{t+1},a)} _{\text{estimate of optimal future value}}{\bigg )}} ^{\text{learned value}}} Với r t {\displaystyle r_{t}} là phần thưởng nhận được khi chuyển từ trạng thái s t {\displaystyle s_{t}} sang trạng thái s t + 1 {\displaystyle s_{t+1}} và α {\displaystyle \alpha } là tỷ lệ học ( 0 < α ≤ 1 {\displaystyle 0<\alpha \leq 1} ).

Một tập của thuật toán kết thúc khi trạng thái s t + 1 {\displaystyle s_{t+1}} là trạng thái cuối cùng hoặc trạng thái kết thúc. Tuy nhiên, Q -learning cũng có thể học trong các nhiệm vụ không có tình tiết. [cần dẫn nguồn] Nếu hệ số chiết khấu thấp hơn 1, các giá trị hành động là hữu hạn ngay cả khi sự cố có thể chứa các vòng lặp vô hạn.Đối với tất cả các trạng thái cuối cùng Q ( s f , a ) {\displaystyle Q(s_{f},a)} không bao giờ được cập nhật, nhưng được đặt thành giá trị phần thưởng r {\displaystyle r} cho trạng thái s f {\displaystyle s_{f}} . Trong hầu hết các trường hợp, Q ( s f , a ) {\displaystyle Q(s_{f},a)} có thể được đặt bằng không.

Liên quan

Tài liệu tham khảo

WikiPedia: Q-learning_(học_tăng_cường) http://webdocs.cs.ualberta.ca/~sutton/book/ebook/n... http://papers.nips.cc/paper/3964-double-q-learning http://www.bkgm.com/articles/tesauro/tdl.html //edwardbetts.com/find_link?q=Q-learning_(h%E1%BB%... //books.google.com/books?id=YPjNuvrJR0MC //books.google.com/books?id=clKwynlfZYkC&pg=PA320-... //books.google.com/books?id=mGtQAAAAMAAJ&pg=PA397 //books.google.com/books?id=oLcAiySCow0C http://www.research.ibm.com/infoecon/paps/html/ijc... http://www.leemon.com/papers/1995b.pdf